package com.css.entity;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Set;

/**
 * @author Dbj
 * @date 2024年10月08日  11:17
 */
@TableName(value = "system_users", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字，所以使用 system_users
@Data
public class AdminUser implements Serializable {
    /**
     * 用户ID
     */
    @TableId
    private Long id;
    /**
     * 用户账号
     */
    private String username;
//    /**
//     * 加密后的密码
//     *
//     * 因为目前使用 {@link BCryptPasswordEncoder} 加密器，所以无需自己处理 salt 盐
//     */
//    private String password;
    /**
     * 用户昵称
     */
    private String nickname;
    /**
     * 备注
     */
    private String remark;
    /**
     * //部门 ID
     * 所属机构
     */
    private Long deptId;
//    /**
//     * 岗位编号数组
//     */
//    @TableField(typeHandler = JsonLongSetTypeHandler.class)
//    private Set<Long> postIds;
    /**
     * 用户邮箱
     */
    private String email;
    /**
     * 手机号码
     */
    private String mobile;
    /**
     * 用户性别
     *
     */
    private Integer sex;
    /**
     * 用户头像
     */
    private String avatar;

    private Integer status;
    /**
     * 最后登录IP
     */
    private String loginIp;
    /**
     * 最后登录时间
     */
    private String loginDate;
    /**
     * 住址
     */
    private String address;

    /**
     * 人员类型
     */
    private String peopleType;

    /**
     * 年龄
     */
    private Integer age;
    /**
     * 出生日期
     */

    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private String birthTime;
    /**
     * 身份证号
     */
    private String identityId;

    /**
     * 邮政编码
     */
    private String postalId;

    /**
     * 省份编码
     */
    private String divisionCode;
}
